// var snabbdom = require('snabbdom')
// 导入snabbdom
// import snabbdom from 'snabbdom'
// console.log(snabbdom)

// import { h, thunk, init } from 'snabbdom'

// 1. hello world

import { h, init } from 'snabbdom'

// 参数：数组，模块
// 返回值：patch 函数，作用：对比两个vnode的差异更新到真实DOM
let patch = init([])

// 第一个参数：标签+选择器
// 第二个参数：如果是字符串的话就是标签中的内容
let vnode = h('div#container.cls', {
    hook: {
        init (vnode) {
            console.log(vnode.elm)
        },
        create (emptyNode, vnode) {
            console.log(vnode.elm)
        }
    }
}, 'Hello World')

let app = document.querySelector('#app')

// 第一个参数：可以是DOM元素，内部会把DOM元素转换成VNode
// 第二个参数：VNode
// 返回值：VNode
let oldVnode = patch(app, vnode)

// 模拟更新数据
vnode = h('div', 'Hello Snabbdom')

patch(oldVnode, vnode)
